package com.hsh.server.project.user.controller;

import java.util.List;

import com.hsh.server.common.controller.BaseController;
import com.hsh.server.interceptor.UserUtils;
import com.hsh.server.project.user.entity.TAppUser;
import com.hsh.server.project.user.service.ITAppUserService;
import com.hsh.server.util.R;
import com.hsh.server.util.page.TableDataInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;


/**
 * 【请填写功能名称】Controller
 * 
 * @author hsh
 * @date 2025-03-27
 */
@RestController
@RequestMapping("/user")
public class TAppUserController extends BaseController
{
    private String prefix = "user/user";

    @Autowired
    private ITAppUserService tAppUserService;

    @GetMapping()
    public String user()
    {
        return prefix + "/user";
    }
    @GetMapping("/test2")
    public String test()
    {
        return  "hello docker!";
    }

    /**
     * 查询【请填写功能名称】列表
     */
    @GetMapping("/list")
    public TableDataInfo list(TAppUser tAppUser)
    {
        startPage();
        List<TAppUser> list = tAppUserService.selectTAppUserList(tAppUser);
        return getDataTable(list);
    }
    @GetMapping("/getUserInfo")
    public R getUserInfo(TAppUser tAppUser)
    {
        TAppUser user = UserUtils.getUser();
        return R.success(user);
    }


//    /**
//     * 导出【请填写功能名称】列表
//     */
//    @PostMapping("/export")
//    @ResponseBody
//    public AjaxResult export(TAppUser tAppUser)
//    {
//        List<TAppUser> list = tAppUserService.selectTAppUserList(tAppUser);
//        ExcelUtil<TAppUser> util = new ExcelUtil<TAppUser>(TAppUser.class);
//        return util.exportExcel(list, "user");
//    }

    /**
     * 新增【请填写功能名称】
     */
    @GetMapping("/add")
    public String add()
    {
        return prefix + "/add"+ UserUtils.getUser().getUserId();
    }

    /**
     * 新增保存【请填写功能名称】
     */
    @PostMapping("/appLogin")
    public R appLogin(@RequestBody  TAppUser tAppUser)
    {
        return tAppUserService.appLogin(tAppUser);
    }
    /**
     * 新增保存【请填写功能名称】
     */
    @PostMapping("/register")
    public R addSave(@RequestBody  TAppUser tAppUser)
    {
        return tAppUserService.insertTAppUser(tAppUser);
    }

    /**
     * 修改【请填写功能名称】
     */
    @GetMapping("/edit/{userId}")
    public String edit(@PathVariable("userId") Long userId, ModelMap mmap)
    {
        TAppUser tAppUser = tAppUserService.selectTAppUserById(userId);
        mmap.put("tAppUser", tAppUser);
        return prefix + "/edit";
    }

    /**
     * 修改保存【请填写功能名称】
     */
    @PostMapping("/edit")
    @ResponseBody
    public R editSave(TAppUser tAppUser)
    {
        return R.success(tAppUserService.updateTAppUser(tAppUser));
    }

    /**
     * 删除【请填写功能名称】
     */
    @PostMapping( "/remove")
    @ResponseBody
    public R remove(String ids)
    {
        return R.success(tAppUserService.deleteTAppUserByIds(ids));
    }
}
